/**
* Copyright (c) 2013-2014, qtone Inc. All Rights Reserved.
*
* mybatis mapper基类
*
* @param <PK>
*			主键
* @param <E>
*			领域对象
* @param <C>
*			领域查询对象
* @author: tanghuaicheng
* Project Name: testuc
* $Id:   2017-01-11 10:54:07 $
*/

package cn.tang.tframe.mybatis.mapper;

import java.io.Serializable;
import java.util.List;

import org.apache.ibatis.annotations.Param;

public interface BaseMapper<PK extends Serializable, E extends Serializable, C extends Serializable> {
	int countByExample(C example);

	int deleteByPrimaryKey(PK id);

	int insert(E record);

	int insertSelective(E record);

	List<E> selectByExample(C example);

	E selectByPrimaryKey(PK id);

	int updateByExampleSelective(@Param("record") E record, @Param("example") C example);

	int updateByPrimaryKeySelective(E record);
}